COPYFLOP A Diskette Copying Utility What is COPYFLOP? ================= COPYFLOP is a quick-and-dirty disk copier. It copies diskettes track-for-track, and can create image files of diskettes which can be used to produce multiple copies quickly. It can either copy an entire disk, or copy only tracks which are used, allowing you to quickly copy a disks that are not completely full. Making One Copy of a Disk ========================= If the user only specifies the drive letter of the diskette to be duplicated, COPYFLOP will simply duplicate the diskette in the specified drive. For example: COPYFLOP A: would duplicate the diskette in the A: drive. The user will first be prompted to insert the source diskette, which is then read. The user is then asked to insert a target diskette, which is then written. Several options are available for simple duplication: The /FORMAT option will cause the target diskette to be formatted unconditionally. Typically it is not necessary to specify this option, because COPYFLOP will sense unformatted diskettes and format them automatically during copying. It does this by attempting to write a track, and if the write fails, it formats the track and retries the write. For unformatted diskettes, this is slower than simply formatting unconditionally. Use the /FORMAT option when you know the target disk is unformatted. The /VERIFY option causes each track written to be verified. This uses the simple DOS CRC check that's built in, so there's still some remote chance that data can be written in error and not be detected. Use this option when copying to an old diskette. Since each track is verified after it is written, this slows down the copy process considerably. The /FAST option causes COPYFLOP to copy only tracks that contain data. This speeds up the copy process considerably on diskettes that aren't completely full. When the target disk is written, unused tracks are not touched, so a clever person with a disk editor like Norton DISKEDIT may be able to see old data on the diskette, even though you cannot see old files using the DIR command. Also, this option assumes that the FATs (File Allocation Tables) on the diskette are accurate. You may wish to run a utility like Norton Disk Doctor against the diskette to verify this. The /WIPE option causes COPYFLOP to write 0's into any tracks left unwritten by the /FAST option. This solves the above-mentioned problem of leaving old data on the diskette. Note that this wiping method is not extensive, and does not meet any government standards (i.e. it only writes 0's one time, where a more thorough wiping program may make three passes writing 0's and 1's). Here are a few examples of the options in use: COPYFLOP A: /FAST Copies the diskette in drive A: by reading and writing only tracks which contain data. This is the fastest way to use COPYFLOP. COPYFLOP A: /FAST /WIPE Quickly copies the diskette in drive A: and clobbers the unused areas of the target diskette. Special note: you can quickly wipe the unused areas of any diskette by using this form to copy the disk to itself. COPYFLOP A: /FORMAT /VERIFY Copy the diskette in drive A: to a new, unformatted diskette. Verify each track as it is written. Using COPYFLOP to Make Multiple Copies ====================================== COPYFLOP can read a diskette and create an image file of it. The image contains information about the disk's format, and it actual contents. You can then use this image file to make any number of exact duplicates of the original diskette, even though you may no longer have it. That being said, please read "Having a Conscience" below. To read the diskette in drive B: and put its data into MYDISK.IMG, type the following: COPYFLOP B: /READ MYDISK.IMG This will copy the entire diskette to the image file. If you wish to copy only the track which contain data, do this: COPYFLOP B: /READ MYDISK.IMG /FAST This will not only be faster, but will also produce a smaller image. Now, to make a copy of the diskette from the saved image, do this: COPYFLOP B: /WRITE MYDISK.IMG This will write the contents of the image file to the diskette in drive B:. If you wish to format the diskette while copying, you may specify the /FORMAT option as follows: COPYFLOP B: /WRITE MYDISK.IMG /FORMAT You may also specify the /VERIFY option, if you want each track to be verified while writing. If the image was created with /FAST, COPYFLOP will only write (and optionally format) tracks which will contain data on the target diskette. If the disk is unformatted, that will leave tracks unformatted on the diskette. If you do not write to the new diskette, this will not be a problem. However, if you start adding files to the diskette, DOS may try to write to an unformatted track and it will choke. I'll probably fix this in a later release. You may also specify the /WIPE option, to direct COPYFLOP to wipe unused areas of the target disk. This is really only useful when the image was created using the /FAST option, but doesn't hurt anything if it wasn't. If you want to use COPYFLOP in a batch file, you may use the /BATCH option to suppress the prompts for disk insertion. This is a bit dangerous in conjunction with /WRITE, because COPYFLOP will just merrily start writing to the diskette that's in the drive. Better make sure it's the right one! You can make multiple copies quickly using a simple batch file like this one: LOOP: PAUSE Insert TARGET disk in drive A: COPYFLOP A: /WRITE FOOBAR.IMG /FORMAT /VERIFY GOTO LOOP The /QUIET option will suppress most of the messages COPYFLOP prints to the screen, including the startup banner. Return Values ============= The value of ERRORLEVEL when COPYFLOP exists is as follows: 0 Successful operation. 1 Invalid command line argument(s). 2 Problem reading/writing image file. 3 Out of memory. 4 Problem reading/writing diskette. Revision History ================ 1.0 11/13/93 First release. Having a Conscience =================== COPYFLOP is intended for quick duplication and backup of diskettes which contain important programs and data. Since it knows nothing of the contents of the diskette, it cannot know whether the contents are copyrighted or not, and could therefore be used to produce perfect duplicates of commercial software distribution diskettes. THE AUTHOR EXPRESSLY FORBIDS THE USE OF COPYFLOP FOR COPYING OF COPYRIGHTED, PROPRIETARY OR OTHERWISE PROTECTED SOFTWARE EXCEPT AS PROVIDED IN THE LICENSE AGREEMENT FOR THE SOFTWARE BEING COPIED. Many software license agreements allow you to make a copy of the distribution diskettes for backup purposes (in case you have a fire, lightning strikes, or your son steals them to store his X-rated GIFs); you may use COPYFLOP to do this only in accordance with that agreement. Copying software illegally only costs you in the end. Like any business, the cost of losses is ultimately extended to the customers in the price. More Legal Stuff ================ You may use COPYFLOP free of charge, provided you do not use it for any commercial purposes. If you would like to use it for commercial use, please contact me at the net mail address at the end of this documents (I promise I'll be reasonable). COPYFLOP IS PROVIDED WITHOUT WARRANTIES OF ANY KIND, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL THE AUTHOR, HIS HEIRS OR ASSIGNS, BE LIABLE FOR ANY LOSS OF PROFIT OR ANY OTHER DAMAGE, INCLUDING BUT NOT LIMITED TO SPECIAL, INCIDENTAL, CONSEQUENTIAL, OR OTHER DAMAGES. Contacting the Author ===================== You may contact me with comments, flames, bug reports, praise, feature requests, whatever, via Internet mail to "prigney@well.sf.ca.us", or via CompuServe mail to 70761,2034.